“자바 표준 라이브러리 활용”을 묻는 기술면접 정리 노트다. java.base 모듈에 기본 포함된 java.lang/util/io/nio/net/security/math/time 같은 핵심 패키지가 무엇을 제공하는지부터, 제네릭(컴파일 타임 타입 체크), 멀티스레드(상태·제어·synchronized를 통한 경쟁상태 해결), 컬렉션 자료구조(List/Set, HashMap/TreeMap, ArrayList/LinkedList 등 선택 기준), 람다식과 스트림까지 실무에서 자주 쓰는 라이브러리 요소를 예제 코드와 함께 다룬다.
java.base 모듈
기본으로 가지고 있는 java 모듈
종류
java.lang : Java 기본클래스 포함 (Object, String, System …)
java.util : 컬렉션 프레임워크와 유틸리티 (List, Map, Set)
java.io : 파일 입출력
java.nio : 비동기 입출력, 버퍼 ,채널, 파일경로/복사/이동/삭제 관련
java.net : 네트워크 프로그래밍 지원 모듈
java.security : 보안 및 암호화 관련 클래스
java.math : 대형정수 및 고정 소수점 숫자 다루는 클래스
java.time : 시간 및 날짜관련
import java.nio.file.Path;import java.time.LocalDateTime;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;import java.nio.file.*;public class App { public static void main(String[] args) throws Exception { String hello = "Hello"; System.out.println(hello); //java.util - List사용 List<String> list = Arrays.asList("java", "hello"); List<String> list2 = new ArrayList<>(); for (String string : list) { System.out.println(string); } //java.time - 현재 날짜 시간 LocalDateTime now = LocalDateTime.now(); System.out.println(now); //java.nio.file - 파일경로 처리 Path path= Paths.get("example.txt"); System.out.println(path.toAbsolutePath()); // java.io - 파일읽기 try(BufferedReader reader = new BufferedReader(new FileReader(path.toFile()))){ String line; while ((line = reader.readLine()) != null){ System.out.println(line); } }catch(IOException e){ e.printStackTrace(); } List<String> lines = Files.readAllLines(path); for (String string : lines) { System.out.println(string); } }}